import { reqGetSearchInfo } from "@/api"
// search模块的小仓库
const state={
    // 仓库初始状态:对象
    searchList:{}
}
const actions={
    // 获取search模块数据
    async getSearchList({commit},params={}){
        /**
         * reqGetSearchInfo()：在调用的时候至少传递一个参数(空对象)
         *      params:当用户派发action的时候，第二个参数传递过来的，至少是一个空对象
         *              params={} ：默认参数空对象
         */
        let result = await reqGetSearchInfo(params)
        console.log(result);
        if(result.code==200){
            commit('GETSEARCHLIST',result.data)
        }
    }
}
const mutations={
    GETSEARCHLIST(state,searchList){
        state.searchList=searchList
    }
}
/* 计算属性getters
    作用：简化仓库中的数据
          可以把将来在组件中需要用的数据进行简化，将来组件获取数据就方便了
*/
const getters={
    /**
     * 形参state：当前仓库中的state，并非大仓库中的state 
     */
    goodsList(state){
        /**
         * 如果服务器的数据回来了，返回的是一个数组
         * 如果没有网络，返回的是undefined
         */
        return  state.searchList.goodsList || []
    },
    trademarkList(state){
        return state.searchList.trademarkList || []
    },
    attrsList(state){
        return state.searchList.attrsList || []
    }

}

export default{
    state,
    mutations,
    actions,
    getters
}